package helpers.paginaAula;
import  cliente.pagina.*;
import server.organizacion.ControlOrganizacion;
import server.aula.ControlAula;
import persistencia.dominio.*;
import java.util.*;
import comun.constantes.*;
import helpers.comunicacion.HelperComunicacion;
/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author unascribed
 * @version 1.0
 */

public class HelperPaginaCarrera extends HelperPaginaAula {
  private boolean debug = false;

  public HelperPaginaCarrera(Pagina pagina) {
    super(pagina);
  }

  /*
   * Retorna el html del encabezado para de la pagina principal de la Organizacion
   * @return
   */
  public String getHTMLEncabezadoOrganizacion()throws Exception
  {
      ControlOrganizacion controlOrganizacion = new ControlOrganizacion(this.persistencia);
      Participante participante =
          controlOrganizacion.getParticipante(this.pagina.getIdAula(),this.pagina.getIdPersona());
      Aula aula = participante.getAula();
      String html =
          "        <h1>"+aula.getNombre()+"</h1>\n";
      return html;
  }

   public String getHTMLMateriasOrganizacion() throws Exception  {

       ControlOrganizacion controlOrganizacion = new ControlOrganizacion(this.persistencia);
       ControlAula controlAula = new ControlAula(this.persistencia);
       Vector  aulas =
           controlOrganizacion.getAulasOrganizacionUsuario(this.pagina.getIdAula(),this.pagina.getIdPersona(),this.pagina.isHistorial());

       String html = "     <h4>Aulas disponibles</h4>\n";
       html += "        <ul>\n";

       // genera el Html
       Vector comisiones = null;
       Enumeration enum = aulas.elements();
       while (enum.hasMoreElements()) {
    	 Curso aula = (Curso)enum.nextElement();
         String linkPaginaCurso = "";

         //obtengo las comieiones a las cuales tiene acceso la persona en el aula
         comisiones = controlOrganizacion.getComisionesPersona(aula.getId(),this.pagina.getIdPersona());

         // si tiene acceso a una sola una comsion pasa directo a la comision
         if (comisiones!=null && comisiones.size()==1 && this.pagina.obtenerPermisoRecurso(RECURSOS.INICIO,((Comision)comisiones.elementAt(0)).getId()).compareTo(TIPO_PERMISOS.NINGUNO)!= 0)
         {
           linkPaginaCurso = utils.UtilsGenerarHtml.agregarParametroUrl("materia/comision/index.jsp",PARAMETROS_PAGINAS.ID_COMISION,((Comision)comisiones.elementAt(0)).getId());
           linkPaginaCurso = utils.UtilsGenerarHtml.agregarParametroUrl(linkPaginaCurso,PARAMETROS_PAGINAS.ID_AULA,aula.getId());
         }
         else
           linkPaginaCurso = utils.UtilsGenerarHtml.agregarParametroUrl("materia/index.jsp",PARAMETROS_PAGINAS.ID_AULA,aula.getId());



         linkPaginaCurso = utils.UtilsGenerarHtml.agregarParametroUrl(linkPaginaCurso,PARAMETROS_PAGINAS.REFRESH,new Long((new java.util.Date()).getTime()));

         linkPaginaCurso = utils.UtilsGenerarHtml.agregarParametroUrl(linkPaginaCurso,PARAMETROS_PAGINAS.ID_ORGANIZACION,this.pagina.getIdAula());
         linkPaginaCurso = utils.UtilsGenerarHtml.agregarParametroUrl(linkPaginaCurso,PARAMETROS_PAGINAS.REGISTRAR_ACCESO,comun.constantes.RECURSOS.INICIO);
         Participante participante = controlAula.getParticipante(aula.getId(),this.pagina.getIdPersona());
         if(aula.getTipoAcceso()!= null && aula.getTipoAcceso().compareTo(TIPO_ACCESO_AULA.PUBLICO)==0 &&
        		 participante.getTipoUsuario().getNombre().compareTo(TIPO_USUARIOS.ALUMNO)!=0){
        	 html += "<li><img src=\""+this.pagina.getPathLogoAulaPublica()+"\" title=\"Aula p&uacute;blica\" width=\"16\" height=\"16\" border=\"0\" />" +
        	 		 "&nbsp;<a href=\""+linkPaginaCurso+"\">"+aula.getNombre()+"</a> </li>\n";
         }else{
        	 html += "<li><a href=\""+linkPaginaCurso+"\">"+aula.getNombre()+"</a></li>\n";
         }	 
       }
       html += "         </ul>\n";
       return html;
   }
}
